
package com.idealighter.game.roomcard.games.mustniuniu.dto;

import com.baidu.bjf.remoting.protobuf.annotation.Protobuf;

import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuAdvanceOption;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuBankerChip;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuBetOption;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuCallBankerMultiple;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuCardMultiple;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuCardSpecialMultiple;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuExtrBetOption;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuRound;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuSeatDto;
import com.idealighter.game.roomcard.games.mustniuniu.dto.CommonMustNiuNiuCfg.MustNiuNiuStartOption;

import java.util.List;

import lombok.Data;

/**
 * 四人牛牛房间信息 .
 * 
 *
 */
@Data
public class RoomInfo {
  // 房间id
  @Protobuf(order = 1)
  private long roomId;
  @Protobuf(order = 2)
  private long ownerId;
  @Protobuf(order = 3)
  private long superId;
  @Protobuf(order = 4)
  private String ownerName;
  @Protobuf(order = 5)
  private int groupId;
  @Protobuf(order = 6)
  private String groupName;
  @Protobuf(order = 7)
  private int gameId;
  @Protobuf(order = 8)
  private String gameName;
  @Protobuf(order = 9)
  private int payBy;
  @Protobuf(order = 10)
  private long price;
  @Protobuf(order = 11)
  private RoomCfgDto roomCfg;
  @Protobuf(order = 12)
  private int curRound; // 当前局数
  @Protobuf(order = 13)
  private int rounds; // 总局数
  @Protobuf(order = 14)
  private long createTime;

  @Data
  public static class RoomCfgDto {
    @Protobuf(order = 1)
    private int type;
    @Protobuf(order = 2)
    private MustNiuNiuBetOption betOption; // 底分选项
    @Protobuf(order = 3)
    private MustNiuNiuRound round; // 局数
    @Protobuf(order = 4)
    private MustNiuNiuStartOption startOption; // 开桌方式
    @Protobuf(order = 5)
    private MustNiuNiuSeatDto seat; // 几人场
    @Protobuf(order = 6)
    private MustNiuNiuExtrBetOption extrBetOption; // 推注倍数选择
    @Protobuf(order = 7)
    private MustNiuNiuCardMultiple multiple; // 翻倍规则
    @Protobuf(order = 8)
    private List<MustNiuNiuCardSpecialMultiple> specialMultiples; // 特殊牌型
    @Protobuf(order = 9)
    private List<MustNiuNiuAdvanceOption> advanceOptions; // 高级选项
    @Protobuf(order = 10)
    private MustNiuNiuBankerChip bankerChip;
    @Protobuf(order = 11)
    private MustNiuNiuCallBankerMultiple callBankerMultiple;
  }

}
